<!DOCTYPE html>

<html>
  <head>
    <title>Protocol Documentation</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>
    <style>
      body {
        width: 60em;
        margin: 1em auto;
        color: #222;
        font-family: "Ubuntu", sans-serif;
        padding-bottom: 4em;
      }

      h1 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      h2 {
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
        margin: 1.5em 0;
      }

      h3 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      a {
        text-decoration: none;
        color: #567e25;
      }

      table {
        width: 100%;
        font-size: 80%;
        border-collapse: collapse;
      }

      thead {
        font-weight: 700;
        background-color: #dcdcdc;
      }

      tbody tr:nth-child(even) {
        background-color: #fbfbfb;
      }

      td {
        border: 1px solid #ccc;
        padding: 0.5ex 2ex;
      }

      td p {
        text-indent: 1em;
        margin: 0;
      }

      td p:nth-child(1) {
        text-indent: 0;  
      }

       
      .field-table td:nth-child(1) {  
        width: 10em;
      }
      .field-table td:nth-child(2) {  
        width: 10em;
      }
      .field-table td:nth-child(3) {  
        width: 6em;
      }
      .field-table td:nth-child(4) {  
        width: auto;
      }

       
      .extension-table td:nth-child(1) {  
        width: 10em;
      }
      .extension-table td:nth-child(2) {  
        width: 10em;
      }
      .extension-table td:nth-child(3) {  
        width: 10em;
      }
      .extension-table td:nth-child(4) {  
        width: 5em;
      }
      .extension-table td:nth-child(5) {  
        width: auto;
      }

       
      .enum-table td:nth-child(1) {  
        width: 10em;
      }
      .enum-table td:nth-child(2) {  
        width: 10em;
      }
      .enum-table td:nth-child(3) {  
        width: auto;
      }

       
      .scalar-value-types-table tr {
        height: 3em;
      }

       
      #toc-container ul {
        list-style-type: none;
        padding-left: 1em;
        line-height: 180%;
        margin: 0;
      }
      #toc > li > a {
        font-weight: bold;
      }

       
      .file-heading {
        width: 100%;
        display: table;
        border-bottom: 1px solid #aaa;
        margin: 4em 0 1.5em 0;
      }
      .file-heading h2 {
        border: none;
        display: table-cell;
      }
      .file-heading a {
        text-align: right;
        display: table-cell;
      }

       
      .badge {
        width: 1.6em;
        height: 1.6em;
        display: inline-block;

        line-height: 1.6em;
        text-align: center;
        font-weight: bold;
        font-size: 60%;

        color: #89ba48;
        background-color: #dff0c8;

        margin: 0.5ex 1em 0.5ex -1em;
        border: 1px solid #fbfbfb;
        border-radius: 1ex;
      }
    </style>

    
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </head>

  <body>

    <h1 id="title">Protocol Documentation</h1>

    <h2>Table of Contents</h2>

    <div id="toc-container">
      <ul id="toc">
        
          
          <li>
            <a href="#api.proto">api.proto</a>
            <ul>
              
                <li>
                  <a href="#api.v1.beta1.AlgorithmSetting"><span class="badge">M</span>AlgorithmSetting</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.AlgorithmSpec"><span class="badge">M</span>AlgorithmSpec</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.DeleteObservationLogReply"><span class="badge">M</span>DeleteObservationLogReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.DeleteObservationLogRequest"><span class="badge">M</span>DeleteObservationLogRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.EarlyStoppingRule"><span class="badge">M</span>EarlyStoppingRule</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.EarlyStoppingSetting"><span class="badge">M</span>EarlyStoppingSetting</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.EarlyStoppingSpec"><span class="badge">M</span>EarlyStoppingSpec</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Experiment"><span class="badge">M</span>Experiment</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ExperimentSpec"><span class="badge">M</span>ExperimentSpec</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ExperimentSpec.ParameterSpecs"><span class="badge">M</span>ExperimentSpec.ParameterSpecs</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.FeasibleSpace"><span class="badge">M</span>FeasibleSpace</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetEarlyStoppingRulesReply"><span class="badge">M</span>GetEarlyStoppingRulesReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetEarlyStoppingRulesRequest"><span class="badge">M</span>GetEarlyStoppingRulesRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetObservationLogReply"><span class="badge">M</span>GetObservationLogReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetObservationLogRequest"><span class="badge">M</span>GetObservationLogRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetSuggestionsReply"><span class="badge">M</span>GetSuggestionsReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetSuggestionsReply.ParameterAssignments"><span class="badge">M</span>GetSuggestionsReply.ParameterAssignments</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetSuggestionsReply.ParameterAssignments.LabelsEntry"><span class="badge">M</span>GetSuggestionsReply.ParameterAssignments.LabelsEntry</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GetSuggestionsRequest"><span class="badge">M</span>GetSuggestionsRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.GraphConfig"><span class="badge">M</span>GraphConfig</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Metric"><span class="badge">M</span>Metric</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.MetricLog"><span class="badge">M</span>MetricLog</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.NasConfig"><span class="badge">M</span>NasConfig</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.NasConfig.Operations"><span class="badge">M</span>NasConfig.Operations</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ObjectiveSpec"><span class="badge">M</span>ObjectiveSpec</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Observation"><span class="badge">M</span>Observation</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ObservationLog"><span class="badge">M</span>ObservationLog</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Operation"><span class="badge">M</span>Operation</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Operation.ParameterSpecs"><span class="badge">M</span>Operation.ParameterSpecs</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ParameterAssignment"><span class="badge">M</span>ParameterAssignment</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ParameterSpec"><span class="badge">M</span>ParameterSpec</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ReportObservationLogReply"><span class="badge">M</span>ReportObservationLogReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ReportObservationLogRequest"><span class="badge">M</span>ReportObservationLogRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.SetTrialStatusReply"><span class="badge">M</span>SetTrialStatusReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.SetTrialStatusRequest"><span class="badge">M</span>SetTrialStatusRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Trial"><span class="badge">M</span>Trial</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.TrialSpec"><span class="badge">M</span>TrialSpec</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.TrialSpec.LabelsEntry"><span class="badge">M</span>TrialSpec.LabelsEntry</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.TrialSpec.ParameterAssignments"><span class="badge">M</span>TrialSpec.ParameterAssignments</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.TrialStatus"><span class="badge">M</span>TrialStatus</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ValidateAlgorithmSettingsReply"><span class="badge">M</span>ValidateAlgorithmSettingsReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ValidateAlgorithmSettingsRequest"><span class="badge">M</span>ValidateAlgorithmSettingsRequest</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ValidateEarlyStoppingSettingsReply"><span class="badge">M</span>ValidateEarlyStoppingSettingsReply</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ValidateEarlyStoppingSettingsRequest"><span class="badge">M</span>ValidateEarlyStoppingSettingsRequest</a>
                </li>
              
              
                <li>
                  <a href="#api.v1.beta1.ComparisonType"><span class="badge">E</span>ComparisonType</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ObjectiveType"><span class="badge">E</span>ObjectiveType</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.ParameterType"><span class="badge">E</span>ParameterType</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.TrialStatus.TrialConditionType"><span class="badge">E</span>TrialStatus.TrialConditionType</a>
                </li>
              
              
              
                <li>
                  <a href="#api.v1.beta1.DBManager"><span class="badge">S</span>DBManager</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.EarlyStopping"><span class="badge">S</span>EarlyStopping</a>
                </li>
              
                <li>
                  <a href="#api.v1.beta1.Suggestion"><span class="badge">S</span>Suggestion</a>
                </li>
              
            </ul>
          </li>
        
        <li><a href="#scalar-value-types">Scalar Value Types</a></li>
      </ul>
    </div>

    
      
      <div class="file-heading">
        <h2 id="api.proto">api.proto</h2><a href="#title">Top</a>
      </div>
      <p>Katib GRPC API v1beta1</p>

      
        <h3 id="api.v1.beta1.AlgorithmSetting">AlgorithmSetting</h3>
        <p>HP or NAS algorithm settings.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.AlgorithmSpec">AlgorithmSpec</h3>
        <p>HP or NAS algorithm specification.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>algorithm_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>algorithm_settings</td>
                  <td><a href="#api.v1.beta1.AlgorithmSetting">AlgorithmSetting</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.DeleteObservationLogReply">DeleteObservationLogReply</h3>
        <p></p>

        

        
      
        <h3 id="api.v1.beta1.DeleteObservationLogRequest">DeleteObservationLogRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>trial_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.EarlyStoppingRule">EarlyStoppingRule</h3>
        <p>EarlyStoppingRule represents single early stopping rule.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the rule. Usually, metric name. </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Value of the metric. </p></td>
                </tr>
              
                <tr>
                  <td>comparison</td>
                  <td><a href="#api.v1.beta1.ComparisonType">ComparisonType</a></td>
                  <td></td>
                  <td><p>Correlation between name and value, one of equal, less or greater </p></td>
                </tr>
              
                <tr>
                  <td>start_step</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>Defines quantity of intermediate results that should be received before applying the rule.
If start step is empty, rule is applied from the first recorded metric. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.EarlyStoppingSetting">EarlyStoppingSetting</h3>
        <p>Early stopping algorithm settings.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.EarlyStoppingSpec">EarlyStoppingSpec</h3>
        <p>Early stopping algorithm specification.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>algorithm_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>algorithm_settings</td>
                  <td><a href="#api.v1.beta1.EarlyStoppingSetting">EarlyStoppingSetting</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.Experiment">Experiment</h3>
        <p>Structure for a single Experiment.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name for the Experiment. </p></td>
                </tr>
              
                <tr>
                  <td>spec</td>
                  <td><a href="#api.v1.beta1.ExperimentSpec">ExperimentSpec</a></td>
                  <td></td>
                  <td><p>Experiment specification. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ExperimentSpec">ExperimentSpec</h3>
        <p>Specification of an Experiment. Experiment represents a single optimization run over a feasible space. </p><p>Each Experiment contains a configuration describing the feasible space, as well as a set of Trials.</p><p>It is assumed that objective function f(x) does not change in the course of an Experiment.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>parameter_specs</td>
                  <td><a href="#api.v1.beta1.ExperimentSpec.ParameterSpecs">ExperimentSpec.ParameterSpecs</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>objective</td>
                  <td><a href="#api.v1.beta1.ObjectiveSpec">ObjectiveSpec</a></td>
                  <td></td>
                  <td><p>Objective specification for the Experiment. </p></td>
                </tr>
              
                <tr>
                  <td>algorithm</td>
                  <td><a href="#api.v1.beta1.AlgorithmSpec">AlgorithmSpec</a></td>
                  <td></td>
                  <td><p>HP or NAS algorithm specification for the Experiment. </p></td>
                </tr>
              
                <tr>
                  <td>early_stopping</td>
                  <td><a href="#api.v1.beta1.EarlyStoppingSpec">EarlyStoppingSpec</a></td>
                  <td></td>
                  <td><p>Early stopping specification for the Experiment. </p></td>
                </tr>
              
                <tr>
                  <td>parallel_trial_count</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>How many Trials can be processed in parallel. </p></td>
                </tr>
              
                <tr>
                  <td>max_trial_count</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>Max completed Trials to mark Experiment as succeeded. </p></td>
                </tr>
              
                <tr>
                  <td>nas_config</td>
                  <td><a href="#api.v1.beta1.NasConfig">NasConfig</a></td>
                  <td></td>
                  <td><p>NAS configuration for the Experiment. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ExperimentSpec.ParameterSpecs">ExperimentSpec.ParameterSpecs</h3>
        <p>List of ParameterSpec.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>parameters</td>
                  <td><a href="#api.v1.beta1.ParameterSpec">ParameterSpec</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.FeasibleSpace">FeasibleSpace</h3>
        <p>Feasible space for optimization.</p><p>Int and Double type use Max/Min.</p><p>Discrete and Categorical type use List.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>max</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Max Value </p></td>
                </tr>
              
                <tr>
                  <td>min</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Minimum Value </p></td>
                </tr>
              
                <tr>
                  <td>list</td>
                  <td><a href="#string">string</a></td>
                  <td>repeated</td>
                  <td><p>List of Values. </p></td>
                </tr>
              
                <tr>
                  <td>step</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Step for double or int parameter </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetEarlyStoppingRulesReply">GetEarlyStoppingRulesReply</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>early_stopping_rules</td>
                  <td><a href="#api.v1.beta1.EarlyStoppingRule">EarlyStoppingRule</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetEarlyStoppingRulesRequest">GetEarlyStoppingRulesRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>experiment</td>
                  <td><a href="#api.v1.beta1.Experiment">Experiment</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>trials</td>
                  <td><a href="#api.v1.beta1.Trial">Trial</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>db_manager_address</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetObservationLogReply">GetObservationLogReply</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>observation_log</td>
                  <td><a href="#api.v1.beta1.ObservationLog">ObservationLog</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetObservationLogRequest">GetObservationLogRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>trial_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>metric_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>start_time</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>The start of the time range. RFC3339 format </p></td>
                </tr>
              
                <tr>
                  <td>end_time</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>The end of the time range. RFC3339 format </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetSuggestionsReply">GetSuggestionsReply</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>parameter_assignments</td>
                  <td><a href="#api.v1.beta1.GetSuggestionsReply.ParameterAssignments">GetSuggestionsReply.ParameterAssignments</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>algorithm</td>
                  <td><a href="#api.v1.beta1.AlgorithmSpec">AlgorithmSpec</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>early_stopping_rules</td>
                  <td><a href="#api.v1.beta1.EarlyStoppingRule">EarlyStoppingRule</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetSuggestionsReply.ParameterAssignments">GetSuggestionsReply.ParameterAssignments</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>assignments</td>
                  <td><a href="#api.v1.beta1.ParameterAssignment">ParameterAssignment</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>trial_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Optional field to override the trial name </p></td>
                </tr>
              
                <tr>
                  <td>labels</td>
                  <td><a href="#api.v1.beta1.GetSuggestionsReply.ParameterAssignments.LabelsEntry">GetSuggestionsReply.ParameterAssignments.LabelsEntry</a></td>
                  <td>repeated</td>
                  <td><p>Optional field to add labels to the generated Trials </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetSuggestionsReply.ParameterAssignments.LabelsEntry">GetSuggestionsReply.ParameterAssignments.LabelsEntry</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GetSuggestionsRequest">GetSuggestionsRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>experiment</td>
                  <td><a href="#api.v1.beta1.Experiment">Experiment</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>trials</td>
                  <td><a href="#api.v1.beta1.Trial">Trial</a></td>
                  <td>repeated</td>
                  <td><p>All completed trials owned by the experiment. </p></td>
                </tr>
              
                <tr>
                  <td>current_request_number</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>The number of Suggestions requested at one time.
When you set 3 to current_request_number, you get three Suggestions at one time. </p></td>
                </tr>
              
                <tr>
                  <td>total_request_number</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>The number of Suggestions requested till now. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.GraphConfig">GraphConfig</h3>
        <p>GraphConfig contains a config of DAG</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>num_layers</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>Number of layers </p></td>
                </tr>
              
                <tr>
                  <td>input_sizes</td>
                  <td><a href="#int32">int32</a></td>
                  <td>repeated</td>
                  <td><p>Dimensions of input size </p></td>
                </tr>
              
                <tr>
                  <td>output_sizes</td>
                  <td><a href="#int32">int32</a></td>
                  <td>repeated</td>
                  <td><p>Dimensions of output size </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.Metric">Metric</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.MetricLog">MetricLog</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>time_stamp</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>RFC3339 format </p></td>
                </tr>
              
                <tr>
                  <td>metric</td>
                  <td><a href="#api.v1.beta1.Metric">Metric</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.NasConfig">NasConfig</h3>
        <p>NasConfig contains a config of NAS job</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>graph_config</td>
                  <td><a href="#api.v1.beta1.GraphConfig">GraphConfig</a></td>
                  <td></td>
                  <td><p>Config of DAG </p></td>
                </tr>
              
                <tr>
                  <td>operations</td>
                  <td><a href="#api.v1.beta1.NasConfig.Operations">NasConfig.Operations</a></td>
                  <td></td>
                  <td><p>List of Operation </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.NasConfig.Operations">NasConfig.Operations</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>operation</td>
                  <td><a href="#api.v1.beta1.Operation">Operation</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ObjectiveSpec">ObjectiveSpec</h3>
        <p>Objective specification.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>type</td>
                  <td><a href="#api.v1.beta1.ObjectiveType">ObjectiveType</a></td>
                  <td></td>
                  <td><p>Type of optimization. </p></td>
                </tr>
              
                <tr>
                  <td>goal</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>Goal of optimization, can be empty. </p></td>
                </tr>
              
                <tr>
                  <td>objective_metric_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Primary metric name for the optimization. </p></td>
                </tr>
              
                <tr>
                  <td>additional_metric_names</td>
                  <td><a href="#string">string</a></td>
                  <td>repeated</td>
                  <td><p>List of additional metrics to record from Trial.
This can be empty if we only care about the objective metric. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.Observation">Observation</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metrics</td>
                  <td><a href="#api.v1.beta1.Metric">Metric</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ObservationLog">ObservationLog</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>metric_logs</td>
                  <td><a href="#api.v1.beta1.MetricLog">MetricLog</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.Operation">Operation</h3>
        <p>Config for operations in DAG</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>operation_type</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Type of operation in DAG </p></td>
                </tr>
              
                <tr>
                  <td>parameter_specs</td>
                  <td><a href="#api.v1.beta1.Operation.ParameterSpecs">Operation.ParameterSpecs</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.Operation.ParameterSpecs">Operation.ParameterSpecs</h3>
        <p>List of ParameterSpec</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>parameters</td>
                  <td><a href="#api.v1.beta1.ParameterSpec">ParameterSpec</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ParameterAssignment">ParameterAssignment</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ParameterSpec">ParameterSpec</h3>
        <p>Config for a hyperparameter.</p><p>Katib will create each Hyper parameter from this config.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name of the parameter. </p></td>
                </tr>
              
                <tr>
                  <td>parameter_type</td>
                  <td><a href="#api.v1.beta1.ParameterType">ParameterType</a></td>
                  <td></td>
                  <td><p>Type of the parameter. </p></td>
                </tr>
              
                <tr>
                  <td>feasible_space</td>
                  <td><a href="#api.v1.beta1.FeasibleSpace">FeasibleSpace</a></td>
                  <td></td>
                  <td><p>FeasibleSpace for the parameter. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ReportObservationLogReply">ReportObservationLogReply</h3>
        <p></p>

        

        
      
        <h3 id="api.v1.beta1.ReportObservationLogRequest">ReportObservationLogRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>trial_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>observation_log</td>
                  <td><a href="#api.v1.beta1.ObservationLog">ObservationLog</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.SetTrialStatusReply">SetTrialStatusReply</h3>
        <p></p>

        

        
      
        <h3 id="api.v1.beta1.SetTrialStatusRequest">SetTrialStatusRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>trial_name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.Trial">Trial</h3>
        <p>Structure for a single Trial.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Name for the Trial. </p></td>
                </tr>
              
                <tr>
                  <td>spec</td>
                  <td><a href="#api.v1.beta1.TrialSpec">TrialSpec</a></td>
                  <td></td>
                  <td><p>Trial specification. </p></td>
                </tr>
              
                <tr>
                  <td>status</td>
                  <td><a href="#api.v1.beta1.TrialStatus">TrialStatus</a></td>
                  <td></td>
                  <td><p>Trial status. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.TrialSpec">TrialSpec</h3>
        <p>Specification of a Trial. It represents Trial's parameter assignments and objective.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>objective</td>
                  <td><a href="#api.v1.beta1.ObjectiveSpec">ObjectiveSpec</a></td>
                  <td></td>
                  <td><p>Objective specification for the Trial. </p></td>
                </tr>
              
                <tr>
                  <td>parameter_assignments</td>
                  <td><a href="#api.v1.beta1.TrialSpec.ParameterAssignments">TrialSpec.ParameterAssignments</a></td>
                  <td></td>
                  <td><p>List of assignments generated for the Trial. </p></td>
                </tr>
              
                <tr>
                  <td>labels</td>
                  <td><a href="#api.v1.beta1.TrialSpec.LabelsEntry">TrialSpec.LabelsEntry</a></td>
                  <td>repeated</td>
                  <td><p>Map of labels assigned to the Trial </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.TrialSpec.LabelsEntry">TrialSpec.LabelsEntry</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>value</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.TrialSpec.ParameterAssignments">TrialSpec.ParameterAssignments</h3>
        <p>List of ParameterAssignment</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>assignments</td>
                  <td><a href="#api.v1.beta1.ParameterAssignment">ParameterAssignment</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.TrialStatus">TrialStatus</h3>
        <p>Current Trial status. It contains Trial's latest condition, start time, completion time, observation.</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>start_time</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Trial start time in RFC3339 format </p></td>
                </tr>
              
                <tr>
                  <td>completion_time</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>Trial completion time in RFC3339 format </p></td>
                </tr>
              
                <tr>
                  <td>condition</td>
                  <td><a href="#api.v1.beta1.TrialStatus.TrialConditionType">TrialStatus.TrialConditionType</a></td>
                  <td></td>
                  <td><p>Trial current condition. It is equal to the latest Trial CR condition. </p></td>
                </tr>
              
                <tr>
                  <td>observation</td>
                  <td><a href="#api.v1.beta1.Observation">Observation</a></td>
                  <td></td>
                  <td><p>The best Trial observation in logs. </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ValidateAlgorithmSettingsReply">ValidateAlgorithmSettingsReply</h3>
        <p>Return INVALID_ARGUMENT Error if Algorithm Settings are not Valid</p>

        

        
      
        <h3 id="api.v1.beta1.ValidateAlgorithmSettingsRequest">ValidateAlgorithmSettingsRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>experiment</td>
                  <td><a href="#api.v1.beta1.Experiment">Experiment</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      
        <h3 id="api.v1.beta1.ValidateEarlyStoppingSettingsReply">ValidateEarlyStoppingSettingsReply</h3>
        <p>Return INVALID_ARGUMENT Error if Early Stopping Settings are not Valid</p>

        

        
      
        <h3 id="api.v1.beta1.ValidateEarlyStoppingSettingsRequest">ValidateEarlyStoppingSettingsRequest</h3>
        <p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>early_stopping</td>
                  <td><a href="#api.v1.beta1.EarlyStoppingSpec">EarlyStoppingSpec</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>

          

        
      

      
        <h3 id="api.v1.beta1.ComparisonType">ComparisonType</h3>
        <p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>UNKNOWN_COMPARISON</td>
                <td>0</td>
                <td><p>Unknown comparison, not used</p></td>
              </tr>
            
              <tr>
                <td>EQUAL</td>
                <td>1</td>
                <td><p>Equal comparison, e.g. accuracy = 0.7</p></td>
              </tr>
            
              <tr>
                <td>LESS</td>
                <td>2</td>
                <td><p>Less comparison, e.g. accuracy &lt; 0.7</p></td>
              </tr>
            
              <tr>
                <td>GREATER</td>
                <td>3</td>
                <td><p>Greater comparison, e.g. accuracy &gt; 0.7</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="api.v1.beta1.ObjectiveType">ObjectiveType</h3>
        <p>Direction of optimization. Minimize or Maximize.</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>UNKNOWN</td>
                <td>0</td>
                <td><p>Undefined type and not used.</p></td>
              </tr>
            
              <tr>
                <td>MINIMIZE</td>
                <td>1</td>
                <td><p>Minimize</p></td>
              </tr>
            
              <tr>
                <td>MAXIMIZE</td>
                <td>2</td>
                <td><p>Maximize</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="api.v1.beta1.ParameterType">ParameterType</h3>
        <p>Types of value for HyperParameter.</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>UNKNOWN_TYPE</td>
                <td>0</td>
                <td><p>Undefined type and not used.</p></td>
              </tr>
            
              <tr>
                <td>DOUBLE</td>
                <td>1</td>
                <td><p>Double float type. Use &#34;Max/Min&#34;.</p></td>
              </tr>
            
              <tr>
                <td>INT</td>
                <td>2</td>
                <td><p>Int type. Use &#34;Max/Min&#34;.</p></td>
              </tr>
            
              <tr>
                <td>DISCRETE</td>
                <td>3</td>
                <td><p>Discrete number type. Use &#34;List&#34; as float.</p></td>
              </tr>
            
              <tr>
                <td>CATEGORICAL</td>
                <td>4</td>
                <td><p>Categorical type. Use &#34;List&#34; as string.</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="api.v1.beta1.TrialStatus.TrialConditionType">TrialStatus.TrialConditionType</h3>
        <p>Trial can be in one of 8 conditions.</p><p>TODO (andreyvelich): Remove unused conditions.</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>CREATED</td>
                <td>0</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>RUNNING</td>
                <td>1</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>SUCCEEDED</td>
                <td>2</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>KILLED</td>
                <td>3</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>FAILED</td>
                <td>4</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>METRICSUNAVAILABLE</td>
                <td>5</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>EARLYSTOPPED</td>
                <td>6</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>UNKNOWN</td>
                <td>7</td>
                <td><p></p></td>
              </tr>
            
          </tbody>
        </table>
      

      

      
        <h3 id="api.v1.beta1.DBManager">DBManager</h3>
        <p>DBManager service defines APIs to manage Katib database.</p>
        <table class="enum-table">
          <thead>
            <tr><td>Method Name</td><td>Request Type</td><td>Response Type</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>ReportObservationLog</td>
                <td><a href="#api.v1.beta1.ReportObservationLogRequest">ReportObservationLogRequest</a></td>
                <td><a href="#api.v1.beta1.ReportObservationLogReply">ReportObservationLogReply</a></td>
                <td><p>Report a log of Observations for a Trial.
The log consists of timestamp and value of metric.
Katib store every log of metrics.
You can see accuracy curve or other metric logs on UI.</p></td>
              </tr>
            
              <tr>
                <td>GetObservationLog</td>
                <td><a href="#api.v1.beta1.GetObservationLogRequest">GetObservationLogRequest</a></td>
                <td><a href="#api.v1.beta1.GetObservationLogReply">GetObservationLogReply</a></td>
                <td><p>Get all log of Observations for a Trial.</p></td>
              </tr>
            
              <tr>
                <td>DeleteObservationLog</td>
                <td><a href="#api.v1.beta1.DeleteObservationLogRequest">DeleteObservationLogRequest</a></td>
                <td><a href="#api.v1.beta1.DeleteObservationLogReply">DeleteObservationLogReply</a></td>
                <td><p>Delete all log of Observations for a Trial.</p></td>
              </tr>
            
          </tbody>
        </table>

        
        <h3 id="api.v1.beta1.EarlyStopping">EarlyStopping</h3>
        <p>EarlyStopping service defines APIs to manage Katib Early Stopping algorithms</p>
        <table class="enum-table">
          <thead>
            <tr><td>Method Name</td><td>Request Type</td><td>Response Type</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>GetEarlyStoppingRules</td>
                <td><a href="#api.v1.beta1.GetEarlyStoppingRulesRequest">GetEarlyStoppingRulesRequest</a></td>
                <td><a href="#api.v1.beta1.GetEarlyStoppingRulesReply">GetEarlyStoppingRulesReply</a></td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>SetTrialStatus</td>
                <td><a href="#api.v1.beta1.SetTrialStatusRequest">SetTrialStatusRequest</a></td>
                <td><a href="#api.v1.beta1.SetTrialStatusReply">SetTrialStatusReply</a></td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>ValidateEarlyStoppingSettings</td>
                <td><a href="#api.v1.beta1.ValidateEarlyStoppingSettingsRequest">ValidateEarlyStoppingSettingsRequest</a></td>
                <td><a href="#api.v1.beta1.ValidateEarlyStoppingSettingsReply">ValidateEarlyStoppingSettingsReply</a></td>
                <td><p></p></td>
              </tr>
            
          </tbody>
        </table>

        
        <h3 id="api.v1.beta1.Suggestion">Suggestion</h3>
        <p>Suggestion service defines APIs to manage Katib Suggestion from HP or NAS algorithms</p>
        <table class="enum-table">
          <thead>
            <tr><td>Method Name</td><td>Request Type</td><td>Response Type</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>GetSuggestions</td>
                <td><a href="#api.v1.beta1.GetSuggestionsRequest">GetSuggestionsRequest</a></td>
                <td><a href="#api.v1.beta1.GetSuggestionsReply">GetSuggestionsReply</a></td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>ValidateAlgorithmSettings</td>
                <td><a href="#api.v1.beta1.ValidateAlgorithmSettingsRequest">ValidateAlgorithmSettingsRequest</a></td>
                <td><a href="#api.v1.beta1.ValidateAlgorithmSettingsReply">ValidateAlgorithmSettingsReply</a></td>
                <td><p></p></td>
              </tr>
            
          </tbody>
        </table>

        
    

    <h2 id="scalar-value-types">Scalar Value Types</h2>
    <table class="scalar-value-types-table">
      <thead>
        <tr><td>.proto Type</td><td>Notes</td><td>C++</td><td>Java</td><td>Python</td><td>Go</td><td>C#</td><td>PHP</td><td>Ruby</td></tr>
      </thead>
      <tbody>
        
          <tr id="double">
            <td>double</td>
            <td></td>
            <td>double</td>
            <td>double</td>
            <td>float</td>
            <td>float64</td>
            <td>double</td>
            <td>float</td>
            <td>Float</td>
          </tr>
        
          <tr id="float">
            <td>float</td>
            <td></td>
            <td>float</td>
            <td>float</td>
            <td>float</td>
            <td>float32</td>
            <td>float</td>
            <td>float</td>
            <td>Float</td>
          </tr>
        
          <tr id="int32">
            <td>int32</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="int64">
            <td>int64</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="uint32">
            <td>uint32</td>
            <td>Uses variable-length encoding.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int/long</td>
            <td>uint32</td>
            <td>uint</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="uint64">
            <td>uint64</td>
            <td>Uses variable-length encoding.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
            <td>uint64</td>
            <td>ulong</td>
            <td>integer/string</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sint32">
            <td>sint32</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sint64">
            <td>sint64</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="fixed32">
            <td>fixed32</td>
            <td>Always four bytes. More efficient than uint32 if values are often greater than 2^28.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int</td>
            <td>uint32</td>
            <td>uint</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="fixed64">
            <td>fixed64</td>
            <td>Always eight bytes. More efficient than uint64 if values are often greater than 2^56.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
            <td>uint64</td>
            <td>ulong</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="sfixed32">
            <td>sfixed32</td>
            <td>Always four bytes.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
            <td>int32</td>
            <td>int</td>
            <td>integer</td>
            <td>Bignum or Fixnum (as required)</td>
          </tr>
        
          <tr id="sfixed64">
            <td>sfixed64</td>
            <td>Always eight bytes.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
            <td>int64</td>
            <td>long</td>
            <td>integer/string</td>
            <td>Bignum</td>
          </tr>
        
          <tr id="bool">
            <td>bool</td>
            <td></td>
            <td>bool</td>
            <td>boolean</td>
            <td>boolean</td>
            <td>bool</td>
            <td>bool</td>
            <td>boolean</td>
            <td>TrueClass/FalseClass</td>
          </tr>
        
          <tr id="string">
            <td>string</td>
            <td>A string must always contain UTF-8 encoded or 7-bit ASCII text.</td>
            <td>string</td>
            <td>String</td>
            <td>str/unicode</td>
            <td>string</td>
            <td>string</td>
            <td>string</td>
            <td>String (UTF-8)</td>
          </tr>
        
          <tr id="bytes">
            <td>bytes</td>
            <td>May contain any arbitrary sequence of bytes.</td>
            <td>string</td>
            <td>ByteString</td>
            <td>str</td>
            <td>[]byte</td>
            <td>ByteString</td>
            <td>string</td>
            <td>String (ASCII-8BIT)</td>
          </tr>
        
      </tbody>
    </table>
  </body>
</html>

